
#ifndef TABULEIRO_H
#define TABULEIRO_H

#include <Jogador.h>
#include <Coordenada.h>
#include <set>
#include <utility>
#include <QDebug>
#include <defines.h>

using namespace std;

class Tabuleiro
{

private:

  int tab[TAM][TAM];
  Jogador j1;
  Jogador j2;
  
public:

  Tabuleiro();
  Tabuleiro(const Jogador& j1, const Jogador& j2);
  ~Tabuleiro();
  
  Tabuleiro& operator=(const Tabuleiro& t);

  void setPos(const int i, const int j, const int val);
  int getPos(const int i, const int j)const;
  void setJogador1 ( const Jogador& new_var );
  Jogador getJogador1 ( )const;
  void setJogador2 ( const Jogador& new_var );
  Jogador getJogador2 ( )const;
  
  void joga(const Coordenada&, const Jogador& );
  
  set<Coordenada> jogadasPossiveis(const Jogador& )const;
};

#endif // TABULEIRO_H
